HTTP (Hypertext Transfer Protocol) হলো ওয়েব সার্ভার এবং ক্লায়েন্ট (ব্রাউজার বা অ্যাপ) এর মধ্যে যোগাযোগের জন্য ব্যবহৃত একটি প্রোটোকল। HTTP রিকোয়েস্টের মাধ্যমে ক্লায়েন্ট সার্ভারে ডাটা পাঠায় বা সার্ভার থেকে ডাটা সংগ্রহ করে। HTTP রিকোয়েস্টের বিভিন্ন মেথড থাকে, যেমন GET, POST, PUT, এবং DELETE, যেগুলি ওয়েব অ্যাপ্লিকেশন এবং API এর সঙ্গে যোগাযোগের জন্য ব্যবহৃত হয়। নিচে এই মেথডগুলোর প্রতিটির বিস্তারিত ব্যাখ্যা দেয়া হলো।
1. GET Request
GET রিকোয়েস্ট ওয়েব সার্ভার থেকে ডাটা বা রিসোর্সের জন্য রিকোয়েস্ট করে। এটি সাধারণত ওয়েব পেজ বা ডাটার জন্য ব্যবহৃত হয়। GET রিকোয়েস্টের মাধ্যমে সার্ভার কোনো ডাটা বা রিসোর্স সরবরাহ করে এবং এটি ডাটা পরিবর্তন বা আপডেট করে না।
বৈশিষ্ট্য:
- প্রথম এবং প্রধান উদ্দেশ্য: ডাটা পড়া (Retrieve).
- বডি: সাধারণত GET রিকোয়েস্টে কোনো বডি থাকে না, এটি কেবল URL এবং প্যারামিটার দিয়ে ডাটা পাঠায়।
- ক্যাশেবল: GET রিকোয়েস্টের ফলাফল ক্যাশ করা যায়।
- আইডেমপটেন্ট: একই GET রিকোয়েস্ট বারবার পাঠালে কোনো পরিবর্তন হবে না।
উদাহরণ:
this.http.get('https://api.example.com/users')
.subscribe(response => {
console.log(response);
});
এটি GET রিকোয়েস্ট পাঠাবে এবং সার্ভার থেকে ইউজারদের তথ্য নিবে।
2. POST Request
POST রিকোয়েস্ট সার্ভারে নতুন ডাটা তৈরি করতে বা সার্ভারে কিছু আপডেট করতে ব্যবহৃত হয়। এটি সাধারনত ফর্ম সাবমিট বা ডাটা আপলোডের জন্য ব্যবহার করা হয়। POST রিকোয়েস্টের মাধ্যমে সার্ভারে ডাটা পাঠানো হয়।
বৈশিষ্ট্য:
- প্রথম এবং প্রধান উদ্দেশ্য: নতুন ডাটা তৈরি করা (Create).
- বডি: POST রিকোয়েস্টে ডাটা থাকে, যা সার্ভারে পাঠানো হয়।
- ক্যাশযোগ্য নয়: POST রিকোয়েস্টের ফলাফল সাধারণত ক্যাশ করা হয় না।
- নন-আইডেমপটেন্ট: POST রিকোয়েস্ট একাধিকবার পাঠালে ডাটা তৈরি বা আপডেট হতে পারে।
উদাহরণ:
const user = { name: 'John', age: 30 };
this.http.post('https://api.example.com/users', user)
.subscribe(response => {
console.log(response);
});
এটি POST রিকোয়েস্ট পাঠাবে এবং সার্ভারে একটি নতুন ইউজার তৈরি করবে।
3. PUT Request
PUT রিকোয়েস্ট সার্ভারে বিদ্যমান রিসোর্সের আপডেট করতে ব্যবহৃত হয়। এটি মূলত কোনো রিসোর্সকে পুরোপুরি পরিবর্তন করতে বা মডিফাই করতে ব্যবহৃত হয়। PUT রিকোয়েস্টে সাধারণত পুরো রিসোর্সটি পাঠানো হয়।
বৈশিষ্ট্য:
- প্রথম এবং প্রধান উদ্দেশ্য: বিদ্যমান ডাটা আপডেট করা (Update).
- বডি: PUT রিকোয়েস্টে নতুন ডাটা পাঠানো হয়, যা সার্ভারের ডাটাকে পরিবর্তন করবে।
- আইডেমপটেন্ট: PUT রিকোয়েস্ট একাধিকবার পাঠালে রিসোর্সে কোনো পরিবর্তন হবে না যদি না নতুন ডাটা পরিবর্তন হয়।
উদাহরণ:
const updatedUser = { name: 'John', age: 35 };
this.http.put('https://api.example.com/users/1', updatedUser)
.subscribe(response => {
console.log(response);
});
এটি PUT রিকোয়েস্ট পাঠাবে এবং ইউজারের বয়স আপডেট করবে (যদি ID 1 থাকে)।
4. DELETE Request
DELETE রিকোয়েস্ট সার্ভারে কোনো রিসোর্স মুছে ফেলতে ব্যবহৃত হয়। এটি সাধারনত রিসোর্স (যেমন: ইউজার, প্রোডাক্ট ইত্যাদি) মুছে ফেলার জন্য ব্যবহার করা হয়।
বৈশিষ্ট্য:
- প্রথম এবং প্রধান উদ্দেশ্য: রিসোর্স মুছে ফেলা (Delete).
- বডি: DELETE রিকোয়েস্টে সাধারণত কোনো বডি থাকে না, তবে কিছু ক্ষেত্রে প্যারামিটার থাকতে পারে।
- আইডেমপটেন্ট: DELETE রিকোয়েস্ট একাধিকবার পাঠালে একই ফলাফল পাওয়া যাবে (যদি রিসোর্সটি ইতিমধ্যে মুছে না যায়)।
উদাহরণ:
this.http.delete('https://api.example.com/users/1')
.subscribe(response => {
console.log(response);
});
এটি DELETE রিকোয়েস্ট পাঠাবে এবং ইউজারের ডাটা মুছে ফেলবে।
সারাংশ
| HTTP Method | Purpose | Request Body | Idempotency |
|---|---|---|---|
| GET | Retrieve data | No body | Idempotent (no changes) |
| POST | Create new resource | Contains data | Non-idempotent (creates resource) |
| PUT | Update existing resource | Contains data | Idempotent (same result on repeated requests) |
| DELETE | Delete a resource | No body | Idempotent (deletes once) |
HTTP Methods ব্যবহারের সাধারণ পরিস্থিতি:
- GET: যখন আপনি সার্ভার থেকে তথ্য পড়তে চান, যেমন ইউজার ডেটা বা ফাইল।
- POST: যখন আপনি নতুন ডাটা তৈরি করতে চান, যেমন ফর্ম সাবমিট বা নতুন রিসোর্স তৈরি।
- PUT: যখন আপনি একটি বিদ্যমান ডাটাকে সম্পূর্ণভাবে আপডেট করতে চান।
- DELETE: যখন আপনি একটি রিসোর্স মুছে ফেলতে চান।
এই HTTP রিকোয়েস্টগুলো সাধারণভাবে API ডেভেলপমেন্টে ব্যবহৃত হয় এবং ওয়েব অ্যাপ্লিকেশন বা মোবাইল অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্য গুরুত্বপূর্ণ।
Read more